Simple T/F Examples for Comparison
To demonstrate the rules given so far, the following four examples each present a two-statement series using a READ followed by an IF.
READ TAR RECEIPT1 HOLD 0 FT 0 BY RECEIPT1 KEY
IF TAR RECEIPT1 POST STARTED EQ 1
The results of the first example (with no conditions) are:
The READ statement executes unconditionally.
If the READ is successful, the level 1 true/false status indicator is set to T. If it is not successful, the level 1 indicator is set to F.
The IF statement executes unconditionally. It does not test the result of the READ statement.
If the IF condition is true, the level 1 true/false status indicator is set to T. If the IF condition is not true, the level 1 indicator is set to F. Note that APPX sets the same indicator here that the READ statement previously set, so the result of the READ operation is no longer available.
Internal status indicator values possible at the end of this example are T or F.
READ TAR RECEIPT1 HOLD 0 FT 0 BY RECEIPT1 KEY
T IF TAR RECEIPT1 POST STARTED EQ 1
The results of the second example (with a True condition on the IF) are:
The READ statement executes unconditionally.
If the READ is successful, the level 1 true/false status indicator is set to T; otherwise, level 1 is set to F.
The IF statement executes only if the READ operation is successful (the level 1 indicator is T).
Assuming the level 1 indicator is T, if the IF condition is true, the level 2 true/false status indicator is set to T; otherwise, level 2 is set to F. Note that APPX retains the first value as set by the READ statement, so it is still available for subsequent checking.
Internal status indicator values possible at the end of this example are F, TT, or TF.
READ TAR RECEIPT1 HOLD 0 FT 0 BY RECEIPT1 KEY
F IF TAR RECEIPT1 POST STARTED EQ 1
The results of the third example (with a False condition on the IF) are:
The READ statement executes unconditionally.
If the READ is successful, the level 1 true/false status indicator is set to T; otherwise, level 1 is set to F.
The IF statement executes only if the READ operation is not successful (the level 1 indicator is F).
Assuming the level 1 indicator is F, if the IF condition is true, the level 2 true/false status indicator is set to T; otherwise, level 2 is set to F.
Internal status indicator values possible at the end of this example are T, FT, or FF.
READ TAR RECEIPT1 HOLD 0 FT 0 BY RECEIPT1 KEY
- IF TAR RECEIPT1 POST STARTED EQ 1
The results of the fourth example (with a hyphen placeholder on the IF) are:
The READ statement executes unconditionally.
If the READ is successful, the level 1 true/false status indicator is set to T; otherwise, level 1 is set to F.
The IF statement executes unconditionally, regardless of whether the READ operation is successful (the first indicator may be either T or F).
If the IF condition is true, the level 2 true/false status indicator is set to T; otherwise, level 2 is set to F.
Internal status indicator values possible at the end of this example are TT, TF, FT, or FF.
|